package model;
// Generated 15/10/2011 23:08:22 by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import com.sun.xml.bind.CycleRecoverable;

@Entity
@Table(name="tipo_lixo"
    ,catalog="ws_elixo"
)


public class TipoLixo  implements java.io.Serializable, CycleRecoverable {


     private long idTipoLixo;
     private String descricaoLixo;
     private Set<EmpTipoLixo> empTipoLixos = new HashSet<EmpTipoLixo>(0);

    public TipoLixo() {
    }


    public TipoLixo(long idTipoLixo, String descricaoLixo) {
        this.idTipoLixo = idTipoLixo;
        this.descricaoLixo = descricaoLixo;
    }
    public TipoLixo(long idTipoLixo, String descricaoLixo, Set<EmpTipoLixo> empTipoLixos) {
       this.idTipoLixo = idTipoLixo;
       this.descricaoLixo = descricaoLixo;
       this.empTipoLixos = empTipoLixos;
    }

     @Id

    @Column(name="ID_TIPO_LIXO", unique=true, nullable=false)
    public long getIdTipoLixo() {
        return this.idTipoLixo;
    }

    public void setIdTipoLixo(long idTipoLixo) {
        this.idTipoLixo = idTipoLixo;
    }

    @Column(name="DESCRICAO_LIXO", nullable=false, length=100)
    public String getDescricaoLixo() {
        return this.descricaoLixo;
    }

    public void setDescricaoLixo(String descricaoLixo) {
        this.descricaoLixo = descricaoLixo;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="tipoLixo")
    public Set<EmpTipoLixo> getEmpTipoLixos() {
        return this.empTipoLixos;
    }

    public void setEmpTipoLixos(Set<EmpTipoLixo> empTipoLixos) {
        this.empTipoLixos = empTipoLixos;
    }

@Override
    public Object onCycleDetected(Context cntxt) {
        System.out.println("CycleRecoverable.onCycleDetected # ".concat(this.toString()));
        TipoLixo n = new TipoLixo();
        n.setIdTipoLixo(this.getIdTipoLixo());
        return n;
    }
}


